1738A - Glory Addicts - CodeForces Solution


greedy

Please click on ads to support us..

Python Code:

t = int(input())

for _ in range(t):
    n = int(input())
    skill = list(map(int, input().split()))
    damage = list(map(int, input().split()))

    zeros = sorted([d for s, d in zip(skill, damage) if s == 0], reverse=True)
    ones = sorted([d for s, d in zip(skill, damage) if s == 1], reverse=True)

    idx = min(len(zeros), len(ones))

    res = sum(2 * ones[:idx] + ones[idx:] + 2 * zeros[:idx] + zeros[idx:])

    if len(zeros) == len(ones):
        res -= min(damage)

    print(res)





Comments

Submit
0 Comments
More Questions

1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence